Does a monotone function on an arbitrary subset of $\mathbb R$ always have at most countable number of discontinuity? I know a monotone function of a closed and bounded interval can have at most countably many point of discontinuity. And hence a monotone function on $\mathbb R$ can have at most countably many point of discontinuity since $\mathbb R=[0,1]\cup[1,2]\cup[2,3]\cup...\cup[-2,-1]\cup[-3,-2]\cup...$
Now my question is 

Does a monotone function on an arbitrary subset of $\mathbb R$ always have at most countable number of discontinuity?

Does the funtion $f:(\mathbb R-\mathbb Q)\to\mathbb R:x\mapsto x$ serve our purpose?
 A: First, let me give some terminology that I will use here:

Suppose that $E\subseteq\Bbb R,$ $x_0\in\Bbb R,$ and $f:E\to\Bbb R$ are given.
We will say that $x_0$ is $E$-supremal if $$x_0=\sup\{x\in E:x<x_0\},$$ and $E$-infimal if $$x_0=\inf\{x\in E:x>x_0\}.$$ Equivalently, $x_0$ is $E$-supremal if $E\cap(x_0-\delta,x_0)$ is non-empty for all $\delta>0,$ and $E$-infimal if $E\cap(x_0,x_0+\delta)$ is non-empty for all $\delta>0$. Note that $x_0$ is a limit point of $E$ iff $x_0$ is $E$-supremal and/or $E$-infimal. If $x_0\in E$, then $x_0$ is isolated in $E$ iff $x_0$ is neither $E$-supremal nor $E$-infimal.
If $x_0$ is a limit point of $E$ and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$--written $L=\lim_{x\to x_0}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E$ and $0<|x-x_0|<\delta$. We say that $\lim_{x\to x_0}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not a limit point of $E$.
If $x_0$ is $E$-supremal and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$ from below--written $L=\lim_{x\to x_0^-}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E\cap(x_0-\delta_\epsilon,x_0).$ We say that $\lim_{x\to x_0^-}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not $E$-supremal.
If $x_0$ is $E$-infimal and $L\in\Bbb R$, we say that $L$ is the limit of $f(x)$ as $x$ approaches $x_0$ from above--written $L=\lim_{x\to x_0^+}f(x)$--if for all $\epsilon>0$ there is some $\delta_\epsilon>0$ such that $|f(x)-L|<\epsilon$ whenever $x\in E\cap(x_0,x_0+\delta_\epsilon).$ We say that $\lim_{x\to x_0^+}f(x)$ fails to exist if there is no such $L$, or if $x_0$ is not $E$-infimal.
Now, suppose $x_0\in E$. Recall that $f$ is said to be continuous at $x_0$ iff for all $\epsilon>0$ there is some $\delta>0$ such that $|f(x)-f(x_0)|<\epsilon$ whenever $|x-x_0|<\delta.$ It can be shown that $f$ is continuous at $x_0$ iff either $x_0$ is isolated in $E,$ or $x_0$ is a limit point of $E$ and $f(x_0)=\lim_{x\to x_0}f(x).$ $f$ is said to be discontinuous at $x_0$ iff it is not continuous there--that is, iff there is some $\epsilon_0>0$ such that for all $\delta>0$ we have $|f(x)-f(x_0)|\ge\epsilon_0$ for some $x\in E$ with $0<|x-x_0|<\delta.$ Note that if $f$ is discontinuous at $x_0$, then $x_0$ is $E$-supremal and/or $E$-infimal (why?).
You should be able to prove the following:

Lemma: Suppose $E\subseteq\Bbb R,$ $x_0\in E,$ and $f:E\to\Bbb R$ are given, with $f$ discontinous at $x_0.$ Then exactly one of the following $5$ situations occurs:
(i) $x_0$ is $E$-supremal and $E$-infimal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0}f(x).$
(ii) $x_0$ is $E$-supremal and not $E$-infimal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0^-}f(x).$
(iii) $x_0$ is $E$-infimal and not $E$-supremal. There is some $L\in\Bbb R$ with $L\ne f(x_0)$ and $L=\lim_{x\to x_0^+}f(x).$
(iv) $x_0$ is $E$-supremal and $E$-infimal. There are some $L_1,L_2\in\Bbb R$ with $L_1\ne L_2$, $L_1=\lim_{x\to x_0^-}f(x),$ and $L_2=\lim_{x\to x_0^+}f(x).$
(v) $x_0$ is $E$-supremal but $\lim_{x\to x_0^-}f(x)$ fails to exist, and/or $x_0$ is $E$-infimal but $\lim_{x\to x_0^+}f(x)$ fails to exist.

We say that $f$ has a removable discontinuity at $x_0$ if (i) holds; that $f$ has an essential discontinuity at $x_0$ if (v) holds; that $f$ has a jump discontinuity at $x_0$ in the other three situations.


Now for the kicker: real-valued monotone functions on subsets of the reals can have only jump discontinuities, and can only have at most countably many of those.
Let me give you an idea of how to prove this. (Toward the end, I will use the fact that the rationals are countable and dense in the reals.)
Proof Idea: Suppose $E\subseteq\Bbb R,$ that $f:E\to\Bbb R$ is monotone function, and that $f$ is discontinuous at some point $x_0\in E$. (WLOG, suppose $f$ is nondecreasing. The proof when $f$ is nonincreasing will be similar.) By definition, then, there is some $\epsilon_0>0$ such that for all $\delta>0,$ there exists $x\in E$ where $0<|x-x_0|<\delta$ and $|f(x)-f(x_0)|\ge\epsilon_0.$ We must address three cases.

(Case 1): If $x_0$ is not $E$-supremal, then $x_0$ must be $E$-infimal since $f$ is discontinuous at $x_0$. Moreover, since $f$ is non-decreasing, we must have that $f(x)\ge f(x_0)+\epsilon_0$ for all $x\in E\cap(x_0,\infty),$ for otherwise, this would violate our choice of $\epsilon_0$. (Why?) Then $\{f(x):x\in E,x>x_0\}$ is a non-empty set bounded below by $f(x_0)+\epsilon_0,$ so since $f$ is nondecreasing then we can conclude (why?) that $$\lim_{x\to x_0^+}f(x)=\inf\{f(x):x\in E,x>x_0\}\ge f(x_0)+\epsilon_0>f(x_0).$$ Thus, we have a type (iii) discontinuity.
(Case 2): If $x_0$ is not $E$-infimal, then in a similar fashion to Case 1, we conclude that $x_0$ is $E$-supremal, that $\lim_{x\to x_0^-}f(x)$ exists and is at most $f(x_0)-\epsilon_0,$ meaning we have a type (ii) discontinuity.
(Case 3): If $x_0$ is both $E$-supremal and $E$-infimal, then since $f$ is nondecreasing, we can conclude that $$\lim_{x\to x_0^+}f(x)=\inf\{f(x):x\in E,x>x_0\}\ge f(x_0)$$ and likewise that $\lim_{x\to x_0^-}f(x)\le f(x_0).$ By our choice of $\epsilon_0$, we can show that these two limits cannot be equal, so we have a type (iv) discontinuity.

Thus, $f$ must have a jump discontinuity at $x_0.$
Now, let $Y$ be the union of the "gaps" in $\text{range}(f)$--more precisely: $$Y=\{y\in\Bbb R:\exists x_1,x_2\in E\text{ s.t. }f(x_1)<y<f(x_2),\text{ and }\exists a<y<b\text{ s.t. }(a,b)\cap\text{range}(f)=\emptyset\}.$$ Note that $Y$ is a union of pairwise disjoint open intervals, and is disjoint from $\text{range}(f)$. (Why?) Note further that if $f$ has a jump discontinuity at any point $x_0\in E$, then at least one (and at most two) of the component intervals of $Y$ has an endpoint at $f(x_0)$. (Why?) Thus, we readily have a one-to-one function from the set of discontinuities of $f$ into the set of component intervals of $Y$--in particular, say that for any given point of discontinuity $x_0$, we take $x_0$ to the component interval of $Y$ with $f(x_0)$ for an endpoint, and if we have a choice, take $x_0$ to the component interval of $Y$ whose lower endpoint is $f(x_0)$.
Now, let $\{q_n\}_{n\in\Bbb N}$ be any enumeration of the rationals, and note that for each component interval $J$ of $Y,$ there is some least $n$ such that $q_n\in J$--call this $n_J$ for each such $J$. Different components of $Y$ correspond to different $n_J$ (why?), so the function $J\mapsto n_J$ is a one-to-one function from the set of component intervals of $Y$ into the naturals, meaning that $Y$ has at most countably-many component intervals. Since we also have a one-to-one function from the set of discontinuities of $f$ into the set of component intervals of $Y$, then $f$ has at most countably-many discontinuities.
A: Suppose $f: D \rightarrow \mathbb{R}$ is a monotone function with cardinality $C$ discontinuities, where $D \subset \mathbb{R}$. Define the extended function $\tilde{f}$ by setting $\tilde{f}(x) = f(x)$ when $x \in D$, and for each $x \notin D$
$$\tilde{f}(x) = \inf_{y \in D, y > x} f(y).$$
Thus $\tilde{f}$ extends $f$ by interpolating horizontally across subsets of $\mathbb{R} \setminus D$. Then $\tilde{f}: \mathbb{R} \rightarrow \mathbb{R}$ is monotone and has cardinality $C'$ discontinuities, where $C' \geq C$. Since $C' \le \aleph_0$, then also $C \le \aleph_0$, so $f$ has at most countably many discontinuities.
A: Yes. The crucial remark is that, due to the monotonicity, the jumps can neither compensate each other nor be partly compensated by the non-jump variations of the function. Thus, for every positive integer $n$, between every $x$ and $y$ in the domain there is at most $n\cdot|f(x)-f(y)|$ jumps of size at least $1/n$. Considering the union  over $n$ of the jumps of size at least $1/n$, this proves that there is at most a countable number of jumps between $x$ and $y$. Again by countable union on suitable $x$ and $y$, the total number of jumps on the whole domain is at most countable.
At first sight, this uses mainly (only?) that the real field is Archimedean.
